package com.demo.java.OD1_50.OD39;

import java.util.Scanner;
import java.util.Arrays;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【最大排列】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145565717
 */
public class OdMain {
    private static void solveMethod(String line) {
        // 将字符串按自定义规则排序
        Object[] s = Arrays.stream(line.split(" ")).sorted((s1, s2) -> {
            // 比较 s1 和 s2 拼接后的大小
            String combined1 = s1 + s2;
            String combined2 = s2 + s1;
            return combined2.compareTo(combined1);
        }).toArray();

        // 拼接排序后的字符串
        StringBuilder sb = new StringBuilder();
        for (Object o : s) {
            sb.append(o.toString());
        }

        // 输出结果
        System.out.print(sb);
    }

    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            String input = s.nextLine();  // 读取输入
            solveMethod(input);  // 调用方法进行求解
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("input error");
        }
    }
}